package club.cearnach.api.dao;

import club.cearnach.entity.User;
import org.springframework.data.jpa.repository.JpaRepository;

import java.util.List;
import java.util.Optional;

/**
 * @author 阮胜
 * @date 2018/5/26 23:21
 */
public interface IUserDao extends JpaRepository<User, Integer> {
    /**
     * 根据帐号和密码查询
     *
     * @param account
     * @param password
     * @return
     */
    Optional<User> findByAccountAndPassword(String account, String password);

    /**
     * 多id批量查询
     *
     * @param ids
     * @return
     */
    List<User> findByIdIn(Integer... ids);

    /**
     * 根据帐号和id查询
     *
     * @param account
     * @param id
     * @return
     */
    Optional<User> findByAccountAndIdNot(String account, Integer id);

    /**
     * 根据帐号查询
     *
     * @param account
     * @return
     */
    Optional<User> findByAccount(String account);

    Optional<User> findByAccountAndRoleId(String account, Integer id);
    Optional<User> findByAccountAndEmail(String account, String email);
}
